package packLigaDeFutbol;

import java.sql.ResultSet;
import java.sql.SQLException;

public class GestorJugadores {

	//ATRIBUTOS
		private static GestorJugadores mGestorJugadores;
		
	//CONSTRUCTORA
		private GestorJugadores(){
		}
		
	//METODOS
		
		public static GestorJugadores getGestorJugadores() {
			if(mGestorJugadores == null) {
				mGestorJugadores = new GestorJugadores();
			}
			return mGestorJugadores;
		}
		
		
		/**
		 * @author Lucia Rodero
		 * @return void
		 * Anade un jugador a la base de datos.
		 * @param pIdEquipo, pNombre, pDorsal
		 */
		public void anadirJugador(int pIdEquipo, String pNombre, int pDorsal) {
			String query = "SELECT * FROM jugador j WHERE dorsal =" + pDorsal +";";
			try {
				ResultSet rs = Principal.BBDD.consulta(query);
				if(!rs.next()) {
					String str = "INSERT INTO jugador (idequipo,nombreJug,dorsal) VALUES(" + pIdEquipo + ",'" + pNombre + "'," + pDorsal + ");";
					Principal.BBDD.insertar(str);
				} 
			} catch(SQLException e) {
				e.printStackTrace();
			}
			
		}
		
		/**
		 * @author Lucia Rodero
		 * @return void
		 * Elimina un jugador de la base de datos.
		 * @param pIdEquipo, pNombre, pDorsal
		 */
		public void eliminarJugador(int pIdEquipo, String pNombre, int pDorsal) {
			String str = "DELETE FROM jugador WHERE idequipo = " + pIdEquipo + " AND nombreJug = '" + pNombre + "' AND dorsal = " + pDorsal + ";";
			try {
				Principal.BBDD.borrar(str);
			}catch(SQLException e) {
				e.printStackTrace();
			}
		}

		/**
		 * @author Lucia Rodero
		 * @return void
		 * Modifica un jugador de la base de datos.
		 * @param pIdEquipo, pNombre, pDorsal
		 */
		public void modificarJugador(int pIdEquipo, String pNombre, int pDorsal, String pNomAnt, int pDorAnt) {
			String query = "SELECT * FROM jugador j WHERE dorsal =" + pDorsal +";";
			try {
				ResultSet rs = Principal.BBDD.consulta(query);
				if(!rs.next()) {
					String str = "UPDATE jugador SET nombreJug = '" + pNombre + "', dorsal = " + pDorsal + " WHERE idequipo = " + pIdEquipo + " AND nombreJug = '" + pNomAnt + "' AND dorsal = " + pDorAnt + ";";
					Principal.BBDD.actualizar(str);
				} 
			} catch(SQLException e) {
				e.printStackTrace();
			}
		}
		
		
	}
